1. Field
This disclosure relates to generating traffic for testing a network or network device.
2. Description of the Related Art
In many types of communications networks, each message to be sent is divided into portions of fixed or variable length. Each portion may be referred to as a packet, a frame, a cell, a datagram, a data unit, or other unit of information, all of which are referred to herein as packets.
Each packet contains a portion of an original message, commonly called the payload of the packet. The payload of a packet may contain data, or may contain voice or video information. The payload of a packet may also contain network management and control information. In addition, each packet contains identification and routing information, commonly called a packet header. The packets are sent individually over the network through multiple switches or nodes. The packets are reassembled into the message at a final destination using the information contained in the packet headers, before the message is delivered to a target device or end user. At the receiving end, the reassembled message is passed to the end user in a format compatible with the user's equipment.
Communications networks that transmit messages as packets are called packet switched networks. Packet switched networks commonly contain a mesh of transmission paths which intersect at hubs or nodes. At least some of the nodes may include a switching device or router that receives packets arriving at the node and retransmits the packets along appropriate outgoing paths. Packet switched networks are governed by a layered structure of industry-standard protocols. Layers 1, 2, 3, 4, and 7 of the structure are the physical layer, the data link layer, the network layer, the transport layer, and the application layer, respectively.
Layer 1 protocols define the physical (electrical, optical, or wireless) interface between nodes of the network. Layer 1 protocols include various Ethernet physical configurations, the Synchronous Optical Network (SONET) and other optical connection protocols, and various wireless protocols such as Wi-Fi.
Layer 2 protocols govern how data is logically transferred between nodes of the network. Layer 2 protocols include the Ethernet, Asynchronous Transfer Mode, Frame Relay, Point to Point Protocol, Layer 2 Tunneling Protocol, Fiber Distributed Data Interface, Synchronous Data Link Control, High-Level Data Link Control, Integrated Services Digital Network, Token Ring, various wireless protocols, various Ethernet and Fibre Channel protocols, and other protocols.
Layer 3 protocols govern how packets are routed from a source to a destination along paths connecting multiple nodes of the network. The dominant layer 3 protocols are the well-known Internet Protocol version 4 (IPv4) and version 6 (IPv6). A packet switched network may need to route IP packets using a mixture of layer 2 protocols. At least some of the nodes of the network may include a router that extracts a destination address from a network layer header contained within each packet. The router then uses the destination address to determine the route or path along which the packet should be retransmitted. A typical packet may pass through a plurality of routers, each of which repeats the actions of extracting the destination address and determining the route or path along which the packet should be retransmitted.
Layer 4 protocols govern end-to-end message delivery in a network. In particular, the Transmission Control Protocol (TCP) provides for reliable delivery of packets streams using a system of sequential acknowledgement and retransmission when necessary. TCP is a connection-oriented protocol in which two devices exchange messages to open a virtual connection via the network. Once a connection is opened, bidirectional communications may occur between the connected devices. The connection may exist until closed unilaterally by one of the devices. Opening and closing a connection both require several steps at which specific messages are exchanged between the two devices. A connection may also be closed when an anticipated response is not received by one device for a predetermined period of time, commonly called a “time-out”. A TCP connection is considered to be “stateful” since each device must maintain information describing the state of the connection (being opened, established, being closed), what data has been sent, and what sent data has been acknowledged. The User Datagram Protocol (UDP) is an alternative layer 4 protocol that provides for delivery of packet streams. UDP connections are stateless and do not provide for reliable delivery.
Layer 7 protocols include the Hyper-Text Transfer Protocol (HTTP) used to convey HTML documents such as Web pages, and the Simple Mail Transfer Protocol (SMTP) and Post Office Protocol (POP3) used to convey electronic mail messages. Other layer 7 protocols include Simple Message System (SMS), File Transfer Protocol (FTP), Real Time Protocol (RTP), Real-time Transport Control Protocol (RTCP), Real Time Streaming Protocol (RTSP), Media Gateway Control Protocol (MEGACO), Session Initiation Protocol (SIP), and other protocols used to transfer data, voice, video, and network control information over a network.
In this patent, the term “network under test” (NUT) encompasses all or a portion of a packet switched communications network or one or more network devices within, or for use in, a packet switched communications network. In order to test a NUT, test traffic comprising a large number of packets may be generated and transmitted to and/or through the NUT at one or more ports. Return test traffic transmitted through and/or from the NUT may be received at different ports. The received test traffic may be analyzed to measure the performance of the NUT. In this context, the term “port” refers to a communications connection between the NUT and the equipment used to test the network. The term “port unit” refers to a module within the network test equipment that connects to the NUT at a port. Each port unit connected to the NUT may be both a source of test traffic and a destination for test traffic. Each port unit may emulate a plurality of logical source or destination addresses. Each port unit may emulate a plurality of network users, clients, peers, servers, or other network devices.
The test traffic may depend on the type of network or device to be tested and the type of test to be performed. For example, when a NUT is a switch or router operating at layer 2 or layer 3 of the network structure, the test traffic may include a large plurality of IP packets apparently originating from a plurality of source IP addresses and destined for a plurality of destination IP addresses. In this case, the actual content of the IP packets may be unimportant.
When the NUT operates at a higher layer of the network structure (for example, when the NUT is or includes a server, a server load balancer, a firewall, a network security device that performs packet inspection, or similar network devices), the test traffic may include or be a large plurality of TCP connections. One test that may be performed is to determine if the NUT can accept and/or forward TCP connections initiated at a predefined rate (i.e. a specified number of connections per second) without error. A predictable way to measure TCP connection rate is to have test equipment connected to the NUT initiate TCP connections at the predetermined rate and then check if any errors are committed by the NUT. Optionally, to measure a maximum TCP connection rate of the NUT, the connection initiation rate may be progressively increased until errors occur.
Throughout this description, elements appearing in figures are assigned three-digit reference designators, where the most significant digit is the figure number where the element is introduced and the two least significant digits are specific to the element. An element that is not described in conjunction with a figure may be presumed to have the same characteristics and function as a previously-described element having the same reference designator.